<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>

</html>
<script>
    console.log(Object);
    // Object.prototype.constructor
    //Object.prototype.toString()
//Object.prototype.toLocaleString()
//Object.prototype.hasOwnProperty()
       //Object.prototype.isPrototypeOf()
    // var obj = { name: 'amy', age: 30, run: () => { console.log('run'); } }
    // console.log(obj.__proto__);
    // obj.run()
    // console.log(obj.toString());
    //当调用对象的某个方法是，首先在对象自身找该方法，如果自身有该方法则调用成功。如果没有则继续沿着由__proto__构成的原型链查找该方法，如果一直到原型链的终点都没有照度则报错
    //sex 是否在对象obj身上(不会去查找原型链)



    // 判断一个属性是否在对象身上
    //hasOwhProperty()在判断一个属性是否在对象身上时，不会沿着原型链查找的（只会在对象自身身上查找的）
    //in 在判断一个属性是否在对象身上时，会沿着原型链查找
    // if (obj.hasOwnProperty('sex')) {
    //     console.log('true');
    // } else {
    //     console.log('false');
    // }

    //isPrototypeOf()判断一个对象是否是某个函数的原型对象
    //结论：js中任何对象都可以看做是object这个顶层构造函数的实例对象
</script>